package web.fabrimind.wms.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import web.fabrimind.common.annotation.Excel;
import web.fabrimind.common.core.domain.BaseEntity;

/**
 * 仓库库位对象 warehouse_location
 * 
 * @author zhihui
 * @date 2025-03-28
 */
public class WarehouseLocation extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 库位ID */
    private Long locationId;

    /** 库位编号 */
    @Excel(name = "库位编号")
    private String locationCode;

    /** 库位名称 */
    @Excel(name = "库位名称")
    private String locationName;

    /** 所属仓库ID */
    @Excel(name = "所属仓库ID")
    private Long warehouseId;

    /** 库位类型 */
    @Excel(name = "库位类型")
    private String locationType;

    /** 容量 */
    @Excel(name = "容量")
    private BigDecimal capacity;

    /** 已用容量 */
    @Excel(name = "已用容量")
    private BigDecimal usedCapacity;

    /** 状态（0可用 1已满 2维护中） */
    @Excel(name = "状态", readConverterExp = "0=可用,1=已满,2=维护中")
    private String status;

    /** 所属仓库名称 */
    @Excel(name = "所属仓库名称")
    private String warehouseName;

    public String getWarehouseName() {
        return warehouseName;
    }

    public void setWarehouseName(String warehouseName) {
        this.warehouseName = warehouseName;
    }

    public void setLocationId(Long locationId)
    {
        this.locationId = locationId;
    }

    public Long getLocationId() 
    {
        return locationId;
    }
    public void setLocationCode(String locationCode) 
    {
        this.locationCode = locationCode;
    }

    public String getLocationCode() 
    {
        return locationCode;
    }
    public void setLocationName(String locationName) 
    {
        this.locationName = locationName;
    }

    public String getLocationName() 
    {
        return locationName;
    }
    public void setWarehouseId(Long warehouseId) 
    {
        this.warehouseId = warehouseId;
    }

    public Long getWarehouseId() 
    {
        return warehouseId;
    }
    public void setLocationType(String locationType) 
    {
        this.locationType = locationType;
    }

    public String getLocationType() 
    {
        return locationType;
    }
    public void setCapacity(BigDecimal capacity) 
    {
        this.capacity = capacity;
    }

    public BigDecimal getCapacity() 
    {
        return capacity;
    }
    public void setUsedCapacity(BigDecimal usedCapacity) 
    {
        this.usedCapacity = usedCapacity;
    }

    public BigDecimal getUsedCapacity() 
    {
        return usedCapacity;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("locationId", getLocationId())
            .append("locationCode", getLocationCode())
            .append("locationName", getLocationName())
            .append("warehouseId", getWarehouseId())
            .append("locationType", getLocationType())
            .append("capacity", getCapacity())
            .append("usedCapacity", getUsedCapacity())
            .append("status", getStatus())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
                .append("warehouseName", getWarehouseName())
            .toString();
    }
}
